www.gusucode.com > Matlab在化学工程中的应用 > Matlab在化学工程中的应用/实用化工计算机模拟-Matlab在化学工程中的应用/Examples/Chapter 4/DiffReact_MonolithCat.m
function DiffReact_MonolithCat % 多孔催化剂层中伴随有等温可逆反应的双组分气体扩散 % % Author: HUANG Huajiang % Copyright 2003 UNILAB Research Center, % East China University of Science and Technology, Shanghai, PRC % $Revision: 1.0 $ $Date: 2003/05/15 $ clear all clc global k Kc L De CT CAs CBs k = 8e4; Kc = 6e5; L = 0.2; De = 0.01; CT = 4e-5; CAs = 3e-5; CBs = 1e-5; a = 0; b = L; % solution is obtained using an initial guess of y1(x)=0, y2(x)=0, y3(x)=0 solinit = bvpinit(linspace(a,b,50),[0 0 0]); sol = bvp4c(@ODEs,@BCfun,solinit); format short e x = [0:0.02:L]; y = deval(sol,x) CA = y(1,:)'; NA = y(2,:)'; Eta = y(3,:)'; disp([x' CA NA Eta]) % ------------------------------------------------------------------ function dydr = ODEs(z,y) global k Kc L De CT CAs CBs CA = y(1); NA = y(2); % Eta = y(3); CB = CT - CA; dCAdz = (CA/CT*(NA/2)-NA)/De; dNAdz = -k*(CA^2-(CT-CA)/Kc); dEtadz = (CA^2-CB/Kc)/(CAs^2-CBs/Kc)/L; dydr = [dCAdz; dNAdz; dEtadz]; % ------------------------------------------------------------------ function bc = BCfun(ya,yb) global CAs bc = [ya(1)-CAs; yb(2); ya(3)];